package br.com.pizzaria.controller;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.pizzaria.model.Empresa;

@SuppressWarnings({"unchecked","rawtypes"})
@ManagedBean(name="beanEmpresa")
@SessionScoped
public class EmpresaBean implements IMetodos{
	
		Empresa empresa = null;
		
		public EmpresaBean(){
			empresa = new Empresa(); 
		}
		
		public Empresa getEmpresa() {
			return empresa;
		}

		public void setEmpresa(Empresa empresa) {
			this.empresa = empresa;
		}		

		@Override
		public boolean inserir() {
			DaoHelper dao = new DaoHelper(empresa);			
			return dao.inserir();
		}

		@Override
		public boolean alterar() {
			DaoHelper dao = new DaoHelper(empresa);			
			return dao.alterar();
		}

		@Override
		public boolean excluir() {
			DaoHelper dao = new DaoHelper(empresa);			
			return dao.excluir();
		}
		
		@Override
		public List<Empresa> getListar() {
				
			DaoHelper dao = new DaoHelper(empresa);
			
			List<Empresa> lista = new ArrayList<Empresa>();
			List<Empresa> listaRetorno = new ArrayList<Empresa>();
			
			lista = dao.getListar();
			
			for (Empresa emp : lista) {
				Empresa nLista = new Empresa();
			   		nLista.setCodigo(emp.getCodigo());
					nLista.setNome(emp.getNome());
					nLista.setCnpj(emp.getCnpj());
					nLista.setFone1(emp.getFone1());
					nLista.setFone2(emp.getFone2());
					nLista.setEmail(emp.getEmail());
					nLista.setSite(emp.getSite());
					nLista.setEndereco(emp.getEndereco());
					nLista.setCep(emp.getCep());
					nLista.setCidade(emp.getCidade());
					nLista.setUf(emp.getUf());
					listaRetorno.add(nLista);
				}
			return listaRetorno;
		}
}
